
import numpy as np
import pandas as pd

def czlx(df, search_column1, update_column1):
    """
    在Excel文件中特定列中填入数据，如果该行中的某一列包含指定关键字。

    :param file_path: Excel文件的路径
    :param search_column1: 要搜索的列的表头名称
    :param search_column2: 要搜索的列的表头名称
    :param search_column3: 要搜索的列的表头名称
    :param search_column4: 要搜索的列的表头名称
    :param search_column5: 要搜索的列的表头名称
    :param update_column: 要更新的列的表头名称
    """
    try:
        # 读取Excel文件
        df.replace(np.nan, "", inplace=True)  # 将NaN替换为None
        # 遍历每一行
        for index, row in df.iterrows():
            id_number = row[search_column1]  # 获取身份证号
            gender_digit = int(id_number[:3])  # 获取身份证号中前三位
            cz = str(row[update_column1])
            if cz == '' or pd.isna(cz):
                if gender_digit == "110":
                    df.at[index, update_column1] = "户籍"
                else:
                    df.at[index, update_column1] = "非户籍"
        # 保存更新后的Excel文件
        print("[常住类型]已完成处理。")
        return df
    except Exception as e:
        print(f"常住类型处理时发生错误：{e}")
